// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  const db = cloud.database()

  console.log('wxContext:', wxContext)

  try {
    // 查询用户是否已存在
    const { data } = await db.collection('users')
      .where({
        _openid: wxContext.OPENID
      })
      .get()

    console.log('查询用户结果:', data)

    if (data.length > 0) {
      // 已存在的用户,返回用户信息
      console.log('返回已存在用户信息')
      return {
        openid: wxContext.OPENID,
        userInfo: data[0],
        isRegistered: true
      }
    }

    // 新用户,返回openid
    console.log('返回新用户信息')
    return {
      openid: wxContext.OPENID,
      isRegistered: false
    }
  } catch (error) {
    console.error('云函数执行错误:', error)
    return {
      errMsg: error.message || '登录失败'
    }
  }
}